home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
magazyn_amiga
/
5
/
ami020_datatypes.txt
< prev
next >
Wrap
Text File
|
1997-09-16
|
9KB
|
191 lines
DATATYPES
<lead>Wbudowanie DataType do nowego Workbencha jest
oceniane jako olbrzymi krok naprzód w udoskonalaniu systemu
Amigi, porównywalnym do wprowadzenia kilka lat temu ARexxa.
<a>Piotr "Siechu" Wojciechowski
<txt>DataType jest powstaîâ z myôlâ o nowych Amigach modyfikacjâ
techniki OLE (Object Linking and Embedding), znanâ byê moûe
niektórym Czytelnikom z jabîuszek i pecetów. Umoûliwia ona
automatyczne rozpoznawanie formatów plików i ich obróbkë. Idea
tej techniki osadza sië na moduîowoôci pracy systemu, dziëki
czemu oszczëdzamy pamiëê komputera, gdyû îadowane sâ tylko te
moduîy, których sië uûywa, a jednoczeônie nie mamy problemów z
doîâczaniem nowych moduîów i ich aktualizacjâ.
Przykîadowo, korzystajâc z DataType'ów i programu XtoILBM
(Aminet:gfx/conv) moûemy przekonwertowaê kaûdy rozpoznawany przez
DataType'y format rysunku na nasz amigowy, a jednoczeônie sam
program nie ma nawet 5 KB! Jeôli w przyszîoôci ukaûe sië jakiô
nowy format rysunków, to nie mamy sië czym przejmowaê. Wystarczy
zdobyê i zainstalowaê odpowiedni DataType na dysku. Istotne jest
takûe to, ûe instalujâc nowy DataType "uczymy" wszystkie programy
odpowiadajâcego mu formatu. Inaczej mówiâc, jeûeli zainstalujemy
na przykîad PNG DataType, wszystkie programy graficzne, jak
przeglâdarki czy konwertery, korzystajâce z DataType'ów, bëdâ
obsîugiwaîy format PNG. I za to naleûâ sië wedîug mnie firmie ôp.
Commodore Amiga Inc. wielkie brawa -- za (moûe trochë spóúnione)
narzucenie jednego standardu mechanizmu OLE.
<sr>Jak to dziaîa?
<txt>Spróbujmy przeanalizowaê dziaîanie systemu DataType.
Zaîóûmy, ûe chcemy wykorzystaê rysunek BART.GIF jako tapetë do
Workbencha. W tym celu uruchamiamy program WBPattern z kartoteki
Prefs. Po zaîadowaniu program automatycznie wczytuje z kartoteki
libs: gîównâ bibliotekë datatypes.library, zawierajâcâ podstawowe
procedury. Nastëpnie wywoîywana jest komenda AddDataTypes,
îadujâca do pamiëci (RAMLIB) wszystkie opisy dostëpnych formatów
plików z kartoteki devs:datatypes. Nie musimy sië martwiê, ûe
"zjedzâ" nam one caîâ pamiëê, gdyû majâ dîugoôê rzëdu 100 bajtów.
Jeûeli teraz przystâpimy do wyboru rysunku, jakiego chcemy uûyê
jako podkîadu do Workbencha, sam program przeanalizuje pliki
zawarte w wybranej przez nas kartotece i pokaûe nam nazwy tylko
tych obrazków, których formaty zostaîy rozpoznane na podstawie
informacji uprzednio wczytanych z kartoteki devs:datatype. Jeôli
mieliômy zainstalowany gif.datatype, powinien ukazaê sië teraz
rysunek BART.GIF. Jeûeli zaakceptujemy nastëpnie wybór naszego
rysunku, komputer zaîaduje kolejno moduî gif.datatype
odpowiedzialny wyîâcznie za obsîugë gifów, moduî picture.datatype
zawierajâcy procedury graficzne, a na koïcu zostanie wczytany
rysunek, który bëdziemy mogli wreszcie zobaczyê, wybierajâc
choêby opcjë TEST. Wiëcej informacji moûna znaleúê na
dostarczanym razem z Workbenchem 3.1 "Amiga Developer Update Disk
Set" w zbiorach Docs/DataTypes.doc, Tutorial/DataTypes,
Examples2/DataTypes oraz w dokumentacji do programu MakeDT
autorstwa Michaîa Îëtowskiego, dostëpnego w Aminecie w kartotece
dev/mics. Czytelnik uzyska tam takûe odpowiedú na pytanie, w
jaki sposób zostaîo rozwiâzane rozpoznawanie formatów plików
przez DataType.
<sr>Co zrobiê, aby je mieê?
<txt>Przede wszystkim powinniômy mieê systemu co najmniej 3.0.
Drugie zdanie bëdzie banalnie proste: powinniômy mieê
zainstalowane DataType'y na twardym dysku lub na dyskietce. Jeôli
nie wiemy, jak to zrobiê, to najproôciej wykorzystaê oryginalnâ
instalkë, dostarczanâ z nowym systemem. Jeôli jednak nie idziemy
na îatwiznë i chcemy to zrobiê sami, powinniômy:
^* Skopiowaê do kartoteki c: plik AddDataTypes. Procedura
AddDataTypes pozwala zaîadowaê do pamiëci (lub "odôwieûyê") opisy
rodzajów plików z kartoteki devs:datatypes. Skîadnia dla tej
komendy wyglâda nastëpujâco: AddDataTypes <nazwa DataTypu wraz ze
ôcieûkâ> REFRESH.
^* Umieôciê w kartotece libs: gîównâ biblioteczkë
datatypes.library.
^* W kartotece sys:classes/datatypes umieôciê procedury obsîugujâce
poszczególne rodzaje plików, nazwy ich koïczâ sië rozszerzeniem
.datatypes.
^* Na ôcieûkë devs:datatypes kopiujemy pliki odpowiedzialne za
rozpoznawanie formatu danych. Jeôli nie jesteômy pewni, czy
kopiujemy wîaôciwy plik, warto sprawdziê jego pierwsze bajty.
Powinny sië one ukîadaê w îaïcuch 'FORM...?DTYPNAME....',
szesnastkowo:
<przyp>$46/$4F/$52/$4D/$00/$00/$00/?/$E6/$44/$54/$59/$50/$4E/$41/$4D/$45/$00/$00/$00/$00
<txt>Ôciôle biorâc, bajty od 5 do 8 oznaczajâ dîugoôê caîego
pliku -- poniewaû jednak przewaûnie jest on krótszy od 255
bajtów, moûna przyjâê, ûe zmienia sië tylko wartoôê ósmego bajtu.
Oglâdajâc taki zbiór moûemy teû zauwaûyê nazwë skojarzonej z nim
klasy oraz ciâg, na podstawie którego rozpoznawany jest dany
DataType. Zwykle takûe kaûdy taki plik ma swojâ ikonë, którâ
takûe warto skopiowaê. Jest ona przypisana do komendy
AddDataTypes -- klikniëcie na niej powoduje wprowadzenie danej
struktury danych do RAMLIB.
^* Powinniômy teû przypisaê kartotekë z "klasami" do gîównej
biblioteki: Assign >NIL: LIBS: SYS:Classes ADD.
Ewentualnie (czego nie polecam) moûemy zrezygnowaê z ostatniego
punktu, a DataType'y z kartoteki sys:classes/datatype umieôciê w
gîównej bibliotece, czyli w katalogu libs:.
<sr>Jak doinstalowaê nowe DataType'y?
<txt>W najprostszym wypadku instalacja sprowadza sië do
rozpakowania archiwum i uruchomienia instalera, jeûeli zostaî on
doîâczony przez autora. Jeôli nie, to kopiujemy plik z
rozszerzeniem .DataType do kartoteki sys:classes/datatype oraz
drugi krótki zbiór z opisem pliku w formacie IFF (przewaûnie z
ikonâ) do kartoteki devs:datatypes. Wyjâtkowo doîâczane sâ pliki
konfiguracyjne, dziëki którym moûemy okreôliê sposób zachowania
sië systemu w wypadku przetwarzania danego pliku. Przykîadem moûe
byê wersja 40.5 procedury obsîugujâcej format tiff.
Dla zainteresowanych dodam, ûe w Aminecie powstaîa specjalna
"ôcieûka", zawierajâca tylko DataType'y. Jest ich obecnie koîo
czterdziestu i znajdujâ sië w kartotece util/dtype.
<sr>Programy
<txt>Przeglâdajâc pojawiajâce sië ostatnio na rynku programy
komercyjne, moûna zauwaûyê, ûe programiôci starajâ sië zapewniê
ich wspóîpracë z DataType'ami. Przykîadem moûe tu byê
wzmiankowany na îamach MA program graficzny PPaint 6.4 (MA 12/95,
str. 26; MA 1/96, str. 23) wîoskiej firmy Cloanto. Rozwiâzanie to
ma prawie same zalety: oszczëdnoôê pamiëci, swobodna moûliwoôê
dogrywania nowych formatów plików... Jedynâ powaûnâ jego wadâ
jest to, ûe aby skorzystaê z dobrodziejstw DataType'ów naleûy byê
posiadaczem systemu 3.0 lub wyûszego -- cóû, ôwiat idzie naprzód!
Nabywajâc Workbench 3.x stajemy sië posiadaczami programu
MultiView, bardzo ciekawego i nietypowego. Przede wszystkim w
doôê oryginalny sposób radzi on sobie z rysunkami. Standardowo
otwiera swoje okno na publicznym ekranie, wyôwietlajâc rysunek w
kolorach palety Workbencha. Nie przeskalowuje rysunku. Jeôli jest
on wiëkszy od formatu ekranu, bëdziemy mogli zobaczyê nasz
obrazek po kawaîku. Nie jest to moûe rozwiâzanie eleganckie, ale
dziëki temu moûemy zobaczyê wîaôciwie kaûdy rysunek, jeûeli
oczywiôcie mamy wystarczajâcâ iloôê pamiëci.
Przeglâdanie rysunków to jednak nie wszystko, co potrafi
MultiView. Jeôli mamy zainstalowany LHA DataType, bëdziemy mogli
przeglâdaê archiwa powstaîe przy uûyciu tego popularnego pakera.
Jeôli dysponujemy C DataType'em, programy napisane w jëzyku C/C++
stanâ sië o wiele bardziej czytelne. Interesujâ nas kroje pisma
-- MultiView poradzi sobie takûe z róûnymi typami fontów, jeôli
mamy FontDataTypes (MA 12/95, str. 5). Wreszcie bëdziemy mogli
takûe przeglâdaê teksty powstaîe w AmigaGuide -- jednoczeônie
piszâc teksty w AmigaGuide moûemy wykorzystaê MultiView do
przeglâdania przypisanych w hypertekôcie rysunków. Przykîadowa
skîadnia dla hypertekstu: @{"Rysunek Barta Simpsona" Link
"Bart.gif/Main" 0}.
PPShow4.0, ShowDT2.4 (Aminet:gfx/show) -- dwie popularne
przeglâdarki, wykorzystujâce mechanizm DataType. Pierwsza z nich,
autorstwa Nica Franois, znanego w ôwiatku amigowskim m.in. ze
stworzenia PowerPackera, ma wbudowanâ obsîugë GIF-ów, JPG-ów,
animacji i oczywiôcie grafik spakowanych PowerPackerem.
ArtPRO (Aminet:gfx/conv) -- jeden z wielu konwerterów, pozostawia
uûytkownikowi moûliwoôê wyboru: czy chce korzystaê z wîasnych
procedur programu, czy z DataType'ów. Majâc RECO DataType moûna
na przykîad zobaczyê karty do gry Klondike z Marylin Monroe lub
Claudiâ Shiffer.
DT2iff, XtoILBM3 (Aminet:gfx/conv) -- dwa krótkie programy
konwertujâce DataTypy na nasz amigowy format plików graficznych.
Moûemy taki program podîâczyê pod DirectoryOpus, zaznaczyê
kilkadziesiât plików i wyjôê do dziewczyny. Po powrocie, jeûeli
nie spotka nas ûadna niespodzianka, powinniômy zastaê nasze
obrazki w formacie ILBM.
DTPref (Aminet:util/wb) -- program autorstwa Swena Stullicha,
pozwalajâcy na zmianë parametrów pracy niektórych DataType'ów.
Wersja 2.2 obsîuguje nastëpujâce formaty DataType'ów: binary,
exe, font, hwgpost, jfif oraz photocd.
Na koniec dobra wiadomoôê dla miîoôników muzyki i sampli. W
Aminecie sâ oczywiôcie DataType'y muzyczne. Aktualnie
zdefiniowane sâ nastëpujâce formaty: AIFF, AIFC, SUN Audio,
MaxonMagic (.HSN), VOC, WAV, MAUD IFF, SampleVision oraz format
"jabîkowy".